/**
 * koa 服务端框架
 *      express 和 koa 一样都是服务端框架、
 *      koa没有在框架中集成很多东西、例如中间件、所以koa是一款轻量级框架
 *      这就需要我们在使用koa时，根据需求安装或使用一些第三方的中间件
 * 
 * koa快速入门   
 *      安装koa：npm install koa
 *      导入koa
 */
// 1、导入koa依赖
const Koa = require('koa')

// 2、创建koa实例对象
const app = new Koa()

// 3、启动服务器
app.listen(8000, () => console.log('koa 服务器启动'))


/**
 * 4、注册中间件（也就是请求响应服务）
 *    1、在 app.use() 中传入一个回调函数，回调函数传入俩个参数
 *    2、req请求对象、res响应对象都封装在了 ctx 形参中
 */
app.use((ctx,next)=>{
    /**
     * 获取请求对象
     *      1、ctx.request 是 koa 封装的请求对象（常用）
     *      2、ctx.req 是 node 封装的请求对象
     */
    console.log(ctx.request); // 内部包含了例如请求方式，请求体参数、请求地址等信息
    console.log(ctx.query);   // 获取 query 请求参数

    /**
     * 获取响应对象
     *      1、ctx.response 是 koa 封装的响应对象、一般直接通过 ctx.body 响应数据
     *      2、ctx.res 是 node 封装的响应对象
     */

    ctx.body = {
        code:200,
        message:'请求成功'
    }
})




